///////////////////////////////////////////////////////////////////////////////////////////////////
/// \file formic/ham/integral_transform.h
///
/// \brief   header file for functions involved in integral transformations
///
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef FORMIC_HAM_INTEGRAL_TRANSFORM_HEADER
#define FORMIC_HAM_INTEGRAL_TRANSFORM_HEADER

namespace formic {

  template<class S> void transform_oei(const int n,
                                       const S * const new_orbs,
                                       const S * const old_oei,
                                             S * const new_oei);

  template<class S> void transform_dense_tei(const int n,
                                             const S * const new_orbs,
                                             const S * const cnj_orbs,
                                             const S * const old_tei,
                                                   S * const new_tei,
                                                   S * const work);

  template<class S> void transform_dense_oei_tei(const int n,
                                                 const S * const old_oei,
                                                 const S * const old_tei,
                                                 const S * const new_orbs,
                                                       S * const new_oei,
                                                       S * const new_tei);

}

#endif
